home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / Box2D / Collision / _xl574.as < prev    next >
Encoding:
Text File  |  2010-05-14  |  9.0 KB  |  309 lines

  1. package Box2D.Collision
  2. {
  3.    import Box2D.Common.*;
  4.    import Box2D.Common.Math.*;
  5.    
  6.    public class _xl574
  7.    {
  8.       public var m_pairCount:int;
  9.       
  10.       public var m_pairBuffer:Array;
  11.       
  12.       public var m_hashTable:Array;
  13.       
  14.       public var m_callback:_lv495;
  15.       
  16.       public var m_pairs:Array;
  17.       
  18.       public var m_pairBufferCount:int;
  19.       
  20.       public var m_broadPhase:_lx230;
  21.       
  22.       public var m_freePair:uint;
  23.       
  24.       public function _xl574()
  25.       {
  26.          var _loc1_:uint = 0;
  27.          super();
  28.          m_hashTable = new Array(_yl661.b2_tableCapacity);
  29.          _loc1_ = 0;
  30.          while(_loc1_ < _yl661.b2_tableCapacity)
  31.          {
  32.             m_hashTable[_loc1_] = _yl661.b2_nullPair;
  33.             _loc1_++;
  34.          }
  35.          m_pairs = new Array(_kc225.b2_maxPairs);
  36.          _loc1_ = 0;
  37.          while(_loc1_ < _kc225.b2_maxPairs)
  38.          {
  39.             m_pairs[_loc1_] = new _yl661();
  40.             _loc1_++;
  41.          }
  42.          m_pairBuffer = new Array(_kc225.b2_maxPairs);
  43.          _loc1_ = 0;
  44.          while(_loc1_ < _kc225.b2_maxPairs)
  45.          {
  46.             m_pairBuffer[_loc1_] = new _lv161();
  47.             _loc1_++;
  48.          }
  49.          _loc1_ = 0;
  50.          while(_loc1_ < _kc225.b2_maxPairs)
  51.          {
  52.             m_pairs[_loc1_].proxyId1 = _yl661.b2_nullProxy;
  53.             m_pairs[_loc1_].proxyId2 = _yl661.b2_nullProxy;
  54.             m_pairs[_loc1_].userData = null;
  55.             m_pairs[_loc1_].status = 0;
  56.             m_pairs[_loc1_].next = _loc1_ + 1;
  57.             _loc1_++;
  58.          }
  59.          m_pairs[int(_kc225.b2_maxPairs - 1)].next = _yl661.b2_nullPair;
  60.          m_pairCount = 0;
  61.          m_pairBufferCount = 0;
  62.       }
  63.       
  64.       public static function _pw165(param1:uint, param2:uint) : uint
  65.       {
  66.          var _loc3_:uint = 0;
  67.          _loc3_ = uint(param2 << 16 & 4294901760 | param1);
  68.          _loc3_ = uint(~_loc3_ + (_loc3_ << 15 & 4294934528));
  69.          _loc3_ ^= _loc3_ >> 12 & 0x0FFFFF;
  70.          _loc3_ += _loc3_ << 2 & 4294967292;
  71.          _loc3_ ^= _loc3_ >> 4 & 0x0FFFFFFF;
  72.          _loc3_ *= 2057;
  73.          return uint(_loc3_ ^ _loc3_ >> 16 & 0xFFFF);
  74.       }
  75.       
  76.       public static function _ao537(param1:_lv161, param2:_lv161) : Boolean
  77.       {
  78.          return param1.proxyId1 == param2.proxyId1 && param1.proxyId2 == param2.proxyId2;
  79.       }
  80.       
  81.       public static function _rg825(param1:_yl661, param2:uint, param3:uint) : Boolean
  82.       {
  83.          return param1.proxyId1 == param2 && param1.proxyId2 == param3;
  84.       }
  85.       
  86.       private function _wm732(param1:uint, param2:uint) : _yl661
  87.       {
  88.          var _loc3_:uint = 0;
  89.          var _loc4_:_yl661 = null;
  90.          var _loc5_:uint = 0;
  91.          var _loc6_:uint = 0;
  92.          if(param1 > param2)
  93.          {
  94.             _loc6_ = param1;
  95.             param1 = param2;
  96.             param2 = _loc6_;
  97.          }
  98.          _loc3_ = uint(_pw165(param1,param2) & _yl661.b2_tableMask);
  99.          _loc4_ = _loc4_ = _uv780(param1,param2,_loc3_);
  100.          if(_loc4_ != null)
  101.          {
  102.             return _loc4_;
  103.          }
  104.          _loc5_ = m_freePair;
  105.          _loc4_ = m_pairs[_loc5_];
  106.          m_freePair = _loc4_.next;
  107.          _loc4_.proxyId1 = param1;
  108.          _loc4_.proxyId2 = param2;
  109.          _loc4_.status = 0;
  110.          _loc4_.userData = null;
  111.          _loc4_.next = m_hashTable[_loc3_];
  112.          m_hashTable[_loc3_] = _loc5_;
  113.          ++m_pairCount;
  114.          return _loc4_;
  115.       }
  116.       
  117.       public function _cp216(param1:_lx230, param2:_lv495) : void
  118.       {
  119.          m_broadPhase = param1;
  120.          m_callback = param2;
  121.       }
  122.       
  123.       public function _ch476(param1:int, param2:int) : void
  124.       {
  125.          var _loc3_:_lv161 = null;
  126.          var _loc4_:_yl661 = null;
  127.          _loc4_ = _lg75(param1,param2);
  128.          if(_loc4_ == null)
  129.          {
  130.             return;
  131.          }
  132.          if(_loc4_._pc218() == false)
  133.          {
  134.             _loc4_._bo405();
  135.             _loc3_ = m_pairBuffer[m_pairBufferCount];
  136.             _loc3_.proxyId1 = _loc4_.proxyId1;
  137.             _loc3_.proxyId2 = _loc4_.proxyId2;
  138.             ++m_pairBufferCount;
  139.          }
  140.          _loc4_._lu469();
  141.          if(_lx230.s_validate)
  142.          {
  143.             _th785();
  144.          }
  145.       }
  146.       
  147.       private function _th785() : void
  148.       {
  149.       }
  150.       
  151.       private function _oj677(param1:uint, param2:uint) : *
  152.       {
  153.          var _loc3_:_yl661 = null;
  154.          var _loc4_:uint = 0;
  155.          var _loc5_:uint = 0;
  156.          var _loc6_:_yl661 = null;
  157.          var _loc7_:uint = 0;
  158.          var _loc8_:uint = 0;
  159.          var _loc9_:* = undefined;
  160.          if(param1 > param2)
  161.          {
  162.             _loc7_ = param1;
  163.             param1 = param2;
  164.             param2 = _loc7_;
  165.          }
  166.          _loc4_ = uint(_pw165(param1,param2) & _yl661.b2_tableMask);
  167.          _loc5_ = uint(m_hashTable[_loc4_]);
  168.          _loc6_ = null;
  169.          while(_loc5_ != _yl661.b2_nullPair)
  170.          {
  171.             if(_rg825(m_pairs[_loc5_],param1,param2))
  172.             {
  173.                _loc8_ = _loc5_;
  174.                _loc3_ = m_pairs[_loc5_];
  175.                if(_loc6_)
  176.                {
  177.                   _loc6_.next = _loc3_.next;
  178.                }
  179.                else
  180.                {
  181.                   m_hashTable[_loc4_] = _loc3_.next;
  182.                }
  183.                _loc3_ = m_pairs[_loc8_];
  184.                _loc9_ = _loc3_.userData;
  185.                _loc3_.next = m_freePair;
  186.                _loc3_.proxyId1 = _yl661.b2_nullProxy;
  187.                _loc3_.proxyId2 = _yl661.b2_nullProxy;
  188.                _loc3_.userData = null;
  189.                _loc3_.status = 0;
  190.                m_freePair = _loc8_;
  191.                --m_pairCount;
  192.                return _loc9_;
  193.             }
  194.             _loc6_ = m_pairs[_loc5_];
  195.             _loc5_ = _loc6_.next;
  196.          }
  197.          return null;
  198.       }
  199.       
  200.       public function _ol779() : void
  201.       {
  202.          var _loc1_:_lv161 = null;
  203.          var _loc2_:int = 0;
  204.          var _loc3_:int = 0;
  205.          var _loc4_:Array = null;
  206.          var _loc5_:_yl661 = null;
  207.          var _loc6_:_cm170 = null;
  208.          var _loc7_:_cm170 = null;
  209.          _loc3_ = 0;
  210.          _loc4_ = m_broadPhase.m_proxyPool;
  211.          _loc2_ = 0;
  212.          while(_loc2_ < m_pairBufferCount)
  213.          {
  214.             _loc1_ = m_pairBuffer[_loc2_];
  215.             _loc5_ = _lg75(_loc1_.proxyId1,_loc1_.proxyId2);
  216.             _loc5_._wp583();
  217.             _loc6_ = _loc4_[_loc5_.proxyId1];
  218.             _loc7_ = _loc4_[_loc5_.proxyId2];
  219.             if(_loc5_._mu276())
  220.             {
  221.                if(_loc5_._wj324() == true)
  222.                {
  223.                   m_callback._tf499(_loc6_.userData,_loc7_.userData,_loc5_.userData);
  224.                }
  225.                _loc1_ = m_pairBuffer[_loc3_];
  226.                _loc1_.proxyId1 = _loc5_.proxyId1;
  227.                _loc1_.proxyId2 = _loc5_.proxyId2;
  228.                _loc3_++;
  229.             }
  230.             else if(_loc5_._wj324() == false)
  231.             {
  232.                _loc5_.userData = m_callback._na764(_loc6_.userData,_loc7_.userData);
  233.                _loc5_._pa607();
  234.             }
  235.             _loc2_++;
  236.          }
  237.          _loc2_ = 0;
  238.          while(_loc2_ < _loc3_)
  239.          {
  240.             _loc1_ = m_pairBuffer[_loc2_];
  241.             _oj677(_loc1_.proxyId1,_loc1_.proxyId2);
  242.             _loc2_++;
  243.          }
  244.          m_pairBufferCount = 0;
  245.          if(_lx230.s_validate)
  246.          {
  247.             _yq113();
  248.          }
  249.       }
  250.       
  251.       private function _uv780(param1:uint, param2:uint, param3:uint) : _yl661
  252.       {
  253.          var _loc4_:_yl661 = null;
  254.          var _loc5_:uint = 0;
  255.          _loc5_ = uint(m_hashTable[param3]);
  256.          _loc4_ = m_pairs[_loc5_];
  257.          while(_loc5_ != _yl661.b2_nullPair && _rg825(_loc4_,param1,param2) == false)
  258.          {
  259.             _loc5_ = _loc4_.next;
  260.             _loc4_ = m_pairs[_loc5_];
  261.          }
  262.          if(_loc5_ == _yl661.b2_nullPair)
  263.          {
  264.             return null;
  265.          }
  266.          return _loc4_;
  267.       }
  268.       
  269.       public function _xt32(param1:int, param2:int) : void
  270.       {
  271.          var _loc3_:_lv161 = null;
  272.          var _loc4_:_yl661 = null;
  273.          _loc4_ = _wm732(param1,param2);
  274.          if(_loc4_._pc218() == false)
  275.          {
  276.             _loc4_._bo405();
  277.             _loc3_ = m_pairBuffer[m_pairBufferCount];
  278.             _loc3_.proxyId1 = _loc4_.proxyId1;
  279.             _loc3_.proxyId2 = _loc4_.proxyId2;
  280.             ++m_pairBufferCount;
  281.          }
  282.          _loc4_._mv430();
  283.          if(_lx230.s_validate)
  284.          {
  285.             _th785();
  286.          }
  287.       }
  288.       
  289.       private function _yq113() : void
  290.       {
  291.       }
  292.       
  293.       private function _lg75(param1:uint, param2:uint) : _yl661
  294.       {
  295.          var _loc3_:uint = 0;
  296.          var _loc4_:uint = 0;
  297.          if(param1 > param2)
  298.          {
  299.             _loc4_ = param1;
  300.             param1 = param2;
  301.             param2 = _loc4_;
  302.          }
  303.          _loc3_ = uint(_pw165(param1,param2) & _yl661.b2_tableMask);
  304.          return _uv780(param1,param2,_loc3_);
  305.       }
  306.    }
  307. }
  308.  
  309.